const axios = require('axios');
const { promisify } = require('util');
const { exec: execCallback } = require('child_process');
const dayjs = require('dayjs');

// 将exec转换为Promise形式
const exec = promisify(execCallback);

// 企业微信机器人webhook地址
const WEBHOOK_URL = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=d1923874-0cdf-4df7-a9d3-9075e2e4f538';

// 创建axios实例
const request = axios.create();

/**
 * 发送更新通知到企业微信
 */
async function sendNotification() {
    try {
        // 获取最新提交信息
        const commitMessage = await exec('git log -1 --format="%s"');
        const authorName = await exec('git log -1 --format="%an"');
        const currentTime = dayjs().format('YYYY-MM-DD HH:mm:ss');

        // 发送通知
        const response = await request.post(WEBHOOK_URL, {
            msgtype: 'markdown',
            markdown: {
                content: `SCRM平台端后台管理系统更新成功\n
                >更新作者: <font color="comment">${authorName.stdout.trim()}</font>\n
                更新信息: <font color="comment">${commitMessage.stdout.trim()}</font>\n
                上传时间: <font color="comment">${currentTime}</font>`
            }
        });

        console.log('通知发送成功:', response.data);
    } catch (error) {
        console.error('发送通知失败:', error.message);
    }
}

// 执行通知发送
sendNotification();